Lately, an increasing number of controlling apparatuses and inspection apparatuses that use personal computers as a base system have been introduced into manufacturing processes in factories and the like. In particular, windows OS systems (for example, Windows 95, Windows 98, Windows NT, etc. of Microsoft Corp.) have superior HMIs (Human-Machine Interfaces). For this reason, in those apparatuses using personal computers as their basic systems, there are great advantages for the user to be able to operate various pieces of software, such as word processing software, spreadsheet software, graphics drawing software, data base software, etc. based upon common techniques on the windows OS system.
Recently, with respect to various controlling operations such as, for example, positioning control for robots, a piece of dedicated hardware relating to a specific controlling operation is connected to a personal computer, and the operation can be carried out by using application software on the windows OS system.
Another advantage of using windows OS systems is that data exchanges can be easily carried out between different kinds of application software. For example, in those typical windows OS systems of Microsoft Corp., Windows 95, Windows 98 and Windows NT, commands can be sent and data can be updated and received from one application to another application in a dynamic manner using OLE (Object Linking and Embedding) technique.
Meanwhile, a number of image processing inspection apparatuses have been introduced into factories and the like as production equipment that can perform various visual inspections, which used to be dependent on human visual sense, accurately, automatically, with high speeds. In such a field of image processing inspection apparatuses, apparatuses have also been developed in which a board is inserted into an extension bus in a personal computer so that control is provided by using pieces of application software, for example, on a windows OS system.
In general, the image processing inspection apparatus is used for inspecting the quality, etc. of products on a production line, for example, as shown in FIG. 10. Products (hereinafter, referred to as targets) 52, carried on a conveyor belt 51, are photographed by a TV camera 53, and with respect to the photographed images, various image processes, such as a position-correcting process, an area-measuring process and a center-of-gravity-position calculating process, are carried out. Then, a sequence of operation outputting processes are carried out in which numerical operations are carried out on the results of the image processes; based upon the values thus found, logical operations for judging the quality of the inspected products are carried out; and the results are then outputted.
Conventionally, the above-mentioned sequence of processes were achieved by developing exclusive hardware and the exclusive piece of software that operates on the hardware. However, in recent years, with the rapid developments of functions of the CPU in personal computers, a number of apparatuses for carrying out all these processes in the CPU of a personal computer have been developed.
In other words, when a target 52, carried on the conveyor belt 51 is detected by a sensor 54, a detection signal is sent to a personal computer 55 as a trigger input for starting detection, and an image on TV camera 53 is captured. Here, the personal computer 55 is provided with, for example, parallel interface inputs, and when the detection signal is inputted to its terminal, the detection is started so as to capture the image. Thereafter, the above-mentioned image processes and sequence of operation output processes are carried out by the personal computer 55.
FIG. 11 shows a structural example of such an image processing detection apparatus. A personal computer 61 is installed as a central processing control device, and an image capture board 62 is inserted into an extension bus 63 (connector connection) of the personal computer 61. The board 62, which has a simple construction with an image capture memory 65 for storing image data from the TV camera 64 and a bus controlling circuit 66, is manufactured at low costs. The bus-controlling circuit 66 transmits the image data captured and stored in the image capture memory 65 to a memory 68 on a CPU board 67 inside the personal computer 61.
For example, in the case when the extension bus 63 has a PCI bus construction, a number of image capture boards, which can directly control the bus and transmit image data to the memory 68 on the CPU board 67, are commercially available. The camera image that has been stored in the memory 68 on the CPU board 67 is processed by the CPU 69 by using image-processing software that has been loaded in the same memory 68.
FIG. 12 shows a specific example of the processing sequence. First, after an image is captured as described above at step S51, image processes, such as a window process (S52), a feature-extracting process (S53) and a matching process (S54), are successively carried out. Next, based upon the results of these image processes, post-processes, such as numerical-operation and judging processes (S55), a result-displaying process (S56) and a result-outputting process (S57), are carried out.
Here, the window process refers to a process in which, in the case of a binarizing process, the number of pixels in areas (specified color (white or black)) within a set region is found, and in the case of a light and shade process, the sum or the average value of light and shade pixels within a set region is found. The feature-extracting process refers to a process in which the amounts of features (coordinates of center of gravity, areas, peripheral length, circumscribing rectangles, inertial main axis, etc.) of respective lands (independent lumps each having a specified color (white or black)) within a region set by a binarizing process are found. The matching process refers to a process in which, in the light and shade process, based upon the degree of coincidence (coefficient of correlation) as to where a preliminary extracted template image exists within a set region, coordinates, angles and other factors are found.
Here, one of the indications in estimating the functions of an image processing inspection apparatus is how fast it executes processes. In the above-mentioned construction, for example, when different applications are executed on the same personal computer by using a multi-task mode, the ratio of time that the CPU can allocate to image processes is reduced, with the result that the image-processing time is greatly lengthened.
In contrast, for example, in 4MEG VIDEO Model 12 introduced by EPIX VISION-OCTOBER 1994 NEWSLETTER, [Online]October 1994(1994-10), pages 1-2, XP002117630 Retrieved from the Internet: <URL http://www2. interaccess.com/epix/v3n4 a3.htm>, in addition to a data picking-up process for image data from a digital camera, a function for carrying out image processing is also provided. Therefore, an image processing board also having such an image processing function is connected to an extension bus of a personal computer so as to develop an image processing inspection apparatus.
Here, in EPIX VISION-OCTOBER 1994 NEWSLETTER, [Online]October 1994(1994-10), pages 1-2, XP002117629 Retrieved from the Internet: <URL:http://www2.interaccess.com/epix/v3an 4a1.htm>, twin C40s, which are installed in the 4MEG VIDEO Model 12. have been introduced. An explanation is given of the fact that image data, picked up by the 4MEG VIDEO Model 12, is transferred to these C40s where image processing is respectively carried out thereon so that it becomes possible to further improve the image processing capability.
An image processing board having an image processing function is formed by using such a 4MEG VIDEO Model 12 (or 4MEG VIDEO Model 12 equipped with twin C40s), etc., and this is connected to an extension bus 72 of a personal computer 71 so as to construct an image processing inspection apparatus; and an example thereof is shown in FIG. 13.
In this Figure, an image processing board 74, connected to the extension bus 72 of the personal computer 71, is provided with an image capturing memory 75 for capturing images from a TV camera 73, a bus controlling circuit 76, a ROM 77 for storing image processing software, in which image processing software is stored, a RAM 78 used for the image processing software, in which the image processing software is loaded at the time of activation, and a CPU 79 that is operated in accordance with the image processing software.
In this apparatus, an image process which has to be executed as short a time as possible is executed by the CPU 79 on the image-processing board 74. In the personal computers 71, in accordance with pieces of application software, processes, such as setting changes in parameters of various processes, displaying of image-processing areas, displaying of results, numerical operations, and setting and displaying of logical operations, are carried out.
The image-processing board 74 and the personal computer 71 share data through the extension bus 72 by using, for example, a shared memory (dual port memory element) 80. Since any image data appears on the extension bus 72, it is possible to cut the amount of data to be transferred. Moreover, since the CPU 79 on the image-processing board 74 carries out image processes, it is possible to reduce loads imposed on the main CPU 81 inside the personal computer 71. Additionally, instead of the memories 77, 78 and the CPU 79 of the image-processing board 74, exclusive hardware for image-processing such as a large-scale gate array and an ASIC may also be used.
However, the contents of image processes that can be executed by using the above-mentioned image-processing board 74 are limited by software preliminarily stored in the image-processing program storage-use ROM 77 or the exclusive hardware such as the gate array installed on the image-processing board; this raises a problem of lack of flexibility.
The present invention has been developed in view of the above points and it has an object to provide an image processing inspection apparatus which can achieve high-speed processes for the apparatus as a whole and can reduce loads imposed on the CPU of the central processing control device on demand, and an inspection method using such an apparatus.